package demo10.iterator.dinermerger;

import java.util.ArrayList;
//测试
public class MenuTestDrive {
	public static void main(String args[]) {
		//创建菜单
        PancakeHouseMenu pancakeHouseMenu = new PancakeHouseMenu();
        DinerMenu dinerMenu = new DinerMenu();
        //创建女招待，并将菜单传递给他
		Waitress waitress = new Waitress(pancakeHouseMenu, dinerMenu);
 
		// 没有迭代器
		//printMenu();//调用下面的
		
		// 迭代器
		waitress.printMenu();
		
	}
	
	/*
	 * 没有女服务员waitress，我们需要下面的代码…
	 */
	public static void printMenu() {
		PancakeHouseMenu pancakeHouseMenu = new PancakeHouseMenu();
		DinerMenu dinerMenu = new DinerMenu();

		ArrayList<MenuItem> breakfastItems = pancakeHouseMenu.getMenuItems();
		MenuItem[] lunchItems = dinerMenu.getMenuItems();
		
		// 隐藏实现
		System.out.println("使用每个");
		for (MenuItem menuItem : breakfastItems) {
			System.out.print(menuItem.getName());
			System.out.println("\t\t" + menuItem.getPrice());
			System.out.println("\t" + menuItem.getDescription());
		}
		for (MenuItem menuItem : lunchItems) {
			System.out.print(menuItem.getName());
			System.out.println("\t\t" + menuItem.getPrice());
			System.out.println("\t" + menuItem.getDescription());
		}
 
		// 暴露的实施
		System.out.println("循环使用");
		for (int i = 0; i < breakfastItems.size(); i++) {
			MenuItem menuItem = (MenuItem)breakfastItems.get(i);
			System.out.print(menuItem.getName());
			System.out.println("\t\t" + menuItem.getPrice());
			System.out.println("\t" + menuItem.getDescription());
		}

		for (int i = 0; i < lunchItems.length; i++) {
			MenuItem menuItem = lunchItems[i];
			System.out.print(menuItem.getName());
			System.out.println("\t\t" + menuItem.getPrice());
			System.out.println("\t" + menuItem.getDescription());
		}
	}
}
/*
PancakeHouseMenu+createIterator()
我什么时候调用+createIterator()
菜单
----
早餐
K&B's 薄饼早餐, 2.99 -- 煎饼加炒蛋和吐司
薄煎饼早餐例餐, 2.99 -- 薄煎饼配煎蛋、香肠
蓝莓煎饼, 3.49 -- 用新鲜蓝莓和蓝莓糖浆做成的薄煎饼
华夫饼, 3.59 -- 华夫饼，你的蓝莓或草莓的选择

午餐
素食 番茄三明治, 2.99 -- ('煎') 培根生菜 & 西红柿 用麦皮面包做
番茄三明治, 2.99 -- 哈根 和 生菜 & 西红柿 全麦面包
例汤, 3.29 -- 一天的汤，配一份土豆沙拉
热狗, 3.05 -- 热狗，酸菜，芝士。
清蒸蔬菜加糙米, 3.99 -- 糙米蒸蔬菜
面食, 3.89 -- 用蕃茄酱意大利面，和一片面包*/

